//package cn.nfwx.tv.model;
//
//import android.os.Parcel;
//import android.os.Parcelable;
//import android.support.annotation.IntRange;
//
//import com.j256.ormlite.field.DatabaseField;
//import com.j256.ormlite.field.ForeignCollectionField;
//import com.j256.ormlite.table.DatabaseTable;
//
//import java.io.Serializable;
//import java.util.Collection;
//
//import cn.nfwx.tv.down.DownloadStatus;
//
//@DatabaseTable(tableName = "tb_program")
//public class DownProgramModel implements Parcelable {
//
//    public DownProgramModel(String programName, String programTime, String downloadUrl, String basePath, String localPath, int stats, int size) {
//        this.programName = programName;
//        this.programTime = programTime;
//        this.downloadUrl = downloadUrl;
//        this.basePath = basePath;
//        this.localPath = localPath;
//        this.stats = stats;
//        this.size = size;
//    }
//
//    public DownProgramModel() {
//    }
//
//    public final static int STATS_DEFAULT = 0;
//    public final static int STATS_DOWNLOADING = 1;
//    public final static int STATS_PAUSE = 2;
//    public final static int STATS_SUCCESS = 3;
//    public final static int STATS_WAIT = 4;
//    public final static int STATS_FAIL = 5;
//
//    @DatabaseField(generatedId = true)
//    private int id;
//
//    @DatabaseField(columnName = "programName")
//    private String programName;
//
//    @DatabaseField(columnName = "programTime")
//    private String programTime;
//
//    @DatabaseField(columnName = "downloadUrl")
//    private String downloadUrl;
//
//    @DatabaseField(columnName = "basePath")
//    private String basePath;
//
//    @DatabaseField(columnName = "localPath")
//    private String localPath;
//
//    @DatabaseField(columnName = "stats")
//    private int stats;
//
//    @DatabaseField(columnName = "size")
//    private int size;
//
//    @DatabaseField(columnName = "downloadLocation", defaultValue = "0")
//    private int downloadLocation;
//
//    @DatabaseField(columnName = "downloadLocationTs")
//    private String downloadLocationTs;
//
//    // 一个套餐可以对应多个主题
//    @ForeignCollectionField(eager = true) // 必须
//    private Collection<TsProgramModel> tsProgramModels;
//
//    @IntRange(from = DownloadStatus.WAIT, to = DownloadStatus.FAIL)
//    private int downloadStatus = DownloadStatus.PAUSE;   //下载的状态信息
//
//    private boolean isCheck;
//
//    protected DownProgramModel(Parcel in) {
//        id = in.readInt();
//        programName = in.readString();
//        programTime = in.readString();
//        downloadUrl = in.readString();
//        basePath = in.readString();
//        localPath = in.readString();
//        stats = in.readInt();
//        size = in.readInt();
//        downloadLocation = in.readInt();
//        downloadLocationTs = in.readString();
//        downloadStatus = in.readInt();
//    }
//
//    public static final Creator<DownProgramModel> CREATOR = new Creator<DownProgramModel>() {
//        @Override
//        public DownProgramModel createFromParcel(Parcel in) {
//            return new DownProgramModel(in);
//        }
//
//        @Override
//        public DownProgramModel[] newArray(int size) {
//            return new DownProgramModel[size];
//        }
//    };
//
//    public int getId() {
//        return id;
//    }
//
//    public void setId(int id) {
//        this.id = id;
//    }
//
//    public String getProgramName() {
//        return programName;
//    }
//
//    public void setProgramName(String programName) {
//        this.programName = programName;
//    }
//
//    public String getProgramTime() {
//        return programTime;
//    }
//
//    public void setProgramTime(String programTime) {
//        this.programTime = programTime;
//    }
//
//    public String getDownloadUrl() {
//        return downloadUrl;
//    }
//
//    public void setDownloadUrl(String downloadUrl) {
//        this.downloadUrl = downloadUrl;
//    }
//
//    public String getLocalPath() {
//        return localPath;
//    }
//
//    public void setLocalPath(String localPath) {
//        this.localPath = localPath;
//    }
//
//    public Collection<TsProgramModel> getTsProgramModels() {
//        return tsProgramModels;
//    }
//
//    public void setTsProgramModels(Collection<TsProgramModel> tsProgramModels) {
//        this.tsProgramModels = tsProgramModels;
//    }
//
//    public int getStats() {
//        return stats;
//    }
//
//    public void setStats(int stats) {
//        this.stats = stats;
//    }
//
//    public int getSize() {
//        return size;
//    }
//
//    public void setSize(int size) {
//        this.size = size;
//    }
//
//    public String getBasePath() {
//        return basePath;
//    }
//
//    public void setBasePath(String basePath) {
//        this.basePath = basePath;
//    }
//
//    public int getDownloadLocation() {
//        return downloadLocation;
//    }
//
//    public void setDownloadLocation(int downloadLocation) {
//        this.downloadLocation = downloadLocation;
//    }
//
//    public String getDownloadLocationTs() {
//        return downloadLocationTs;
//    }
//
//    public void setDownloadLocationTs(String downloadLocationTs) {
//        this.downloadLocationTs = downloadLocationTs;
//    }
//
//    public int getDownloadStatus() {
//        return downloadStatus;
//    }
//
//    public void setDownloadStatus(int downloadStatus) {
//        this.downloadStatus = downloadStatus;
//    }
//
//    @Override
//    public int describeContents() {
//        return 0;
//    }
//
//    @Override
//    public void writeToParcel(Parcel dest, int flags) {
//        dest.writeInt(id);
//        dest.writeString(programName);
//        dest.writeString(programTime);
//        dest.writeString(downloadUrl);
//        dest.writeString(basePath);
//        dest.writeString(localPath);
//        dest.writeInt(stats);
//        dest.writeInt(size);
//        dest.writeInt(downloadLocation);
//        dest.writeString(downloadLocationTs);
//        dest.writeInt(downloadStatus);
//    }
//
//    public boolean isCheck() {
//        return isCheck;
//    }
//
//    public void setCheck(boolean isCheck) {
//        this.isCheck = isCheck;
//    }
//}
